今天直接讓 Rust 跑進瀏覽器,這樣才有感覺有在學東西。
你會拿到
rustup target add wasm32-unknown-unknown
cargo install cargo-generate
wasm-pack --version
node -v # 建議 20.19+ 或 22+
cargo generate --git https://github.com/rustwasm/wasm-pack-template
cd <你剛取的專案名>
wasm-pack build --target web
完成後會多一個 pkg/,裡面有 .js、.wasm、.d.ts。
pnpm create vite@latest demo --template vanilla-ts
cd demo && pnpm i
把上一個步驟的 pkg/
整包放到 demo/src/pkg/
底下。
在 demo/src/main.ts 最下面加這三行:
import init, { greet } from './pkg/your_pkg_name.js' // 例如 ./pkg/rustwasm_test.js
;(async () => {
await init()
greet?.('Vite') // 模板預設會跳「Hello, 你的專案名!」
})()
啟動:
npm run dev # 或 pnpm dev